Abstract: Recommendation as a social process plays ansignificant role wherepeople rely on external knowledge to make decisions about an artifact of interest. Recommendation system is an intelligent system that generates a ranked list of items on which a user might be interested. Nowadays, there is a big variety of different approaches and algorithms for data filtering and recommendation giving.Recommendation techniques can be classified into three major divisions: Collaborative Filtering, Content Based and Hybrid Recommendations.This paper compares and elaborates these approaches and discusses their limitations by describing the problems suffered by recommendation techniques.

Keywords: Recommendation system, Content-Based Recommendation, collaborative filtering, coldstart, scalablility.